<?php

class MedicamentosController extends AppController
{
    public $helpres = array('Html', 'Form');
    public $uses = array('Medicamento','Medidasmedicamento','Presentacionesmedicamento','Lineaslaboratorio', 'Medicamentosprecio','Seguro', 'Comprasmedicamento');
    public $layout = 'hospital';
    
    public function beforeFilter() {
        parent::beforeFilter();
        //$this->Auth->allow();
    }
    
    public function index()
    {
        $medicamentos = $this->Medicamento->find('all');
        $this->set(compact('medicamentos'));
        //debug($medicamentos);exit;
    }

     function insertar($id = null)
    {
        if (!empty($this->request->data)) 
        {
            $this->Medicamento->create();

            if ($this->Medicamento->save($this->data)) {

                $this->Session->setFlash('Medicamento Registrado con exito...!!!');
                $this->redirect(array('action' => 'index'), null, true);

            } else {
                $this->Session->setFlash('No se pudo registrar!!!');
            }


        } //debug($this->data);
       $presmedicamento = $this->Presentacionesmedicamento->find('list', array ('fields'=>'Presentacionesmedicamento.nombre'));
       $this->set(compact('presmedicamento'));
       //debug($presmedicamento);exit;
       
       $medidamedica = $this->Medidasmedicamento->find('list', array ('fields'=>'Medidasmedicamento.nombre'));
       $this->set(compact('medidamedica'));
       //debug($medidamedica);exit;

       $lineasl = $this->Lineaslaboratorio->find('list', array ('fields'=>'Lineaslaboratorio.nombre'));
       $this->set(compact('lineasl'));
       //debug($medidamedica);exit;
    }

    public function editar($id = null)
    {
        $this->Medicamento->id = $id;
        if (!$id) {
            $this->Session->setFlash('No existe tal registro');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->data)) {
            $this->data = $this->Medicamento->read();
        } else {
            if ($this->Medicamento->save($this->data)) {
                $this->Session->setFlash('Los datos fueron modificados');
                $this->redirect(array('action' => 'index'), null, true);
            } else {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        }
        $presmedicamento = $this->Presentacionesmedicamento->find('list', array ('fields'=>'Presentacionesmedicamento.nombre'));
        $this->set(compact('presmedicamento'));
       //debug($presmedicamento);exit;
       
       $medidamedica = $this->Medidasmedicamento->find('list', array ('fields'=>'Medidasmedicamento.nombre'));
       $this->set(compact('medidamedica'));
       //debug($medidamedica);exit;

       $lineasl = $this->Lineaslaboratorio->find('list', array ('fields'=>'Lineaslaboratorio.nombre'));
       $this->set(compact('lineasl'));
       //debug($medidamedica);exit;

       // $medicamentosprecio = $this->Medicamentosprecio->find('list', array ('fields'=>'Medicamentosprecio.nombre'));
       // $this->set(compact('medicamentosprecio'));
       // //debug($medidamedica);exit;
    }

    public function eliminar($id = null)
    {
        if (!$id) {
            $this->Session->setFlash('id Invalida para borrar');
            $this->redirect(array('action' => 'index'));
        }
        if ($this->Medicamento->delete($id)) {
            $this->Session->setFlash('El Medicamento  ' . $id . ' fue borrado');
            $this->redirect(array('action' => 'index'));
        }
    }
    //adding a list of prices 
    
    public function precios($id = null) {        
        $dato = $this->Medicamento->findById($id);
        //debug($dato); exit();
        $nombre = $dato['Medicamento']['nombre'];
        //$proporcion=$dato['Medicamento']['porporcion'];
        $precios = $this->Medicamentosprecio->find('all', array(
            'conditions' => array('Medicamentosprecio.medicamento_id' => $id)
        ));
        //debug($precios); exit();                
        $seguros = $this->Seguro->find('all', array('recursive' => -1));
        //debug($seguros);exit();
        $this->set(compact('precios', 'nombre', 'seguros', 'id'));

        if (!empty($this->request->data)) {
           // debug($this->request->data);exit;
            $id = $this->request->data['Medicamentosprecio']['medicamento_id'];

            if ($this->Medicamentosprecio->save($this->request->data)) {
                $this->Session->setFlash('CORRECTO: Guardado correctamente');
                $this->redirect(array('action' => 'precios', $id));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'precios', $id));
            }
        }
    }
    public function ajaxcargaeditar($id = null) {
        $this->layout='ajax';
        
        $this->Medicamentosprecio->id = $id;
        
        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            if ($this->Medicamentosprecio->save($this->request->data)) {
                $idMedicamento= $this->request->data['Medicamentosprecio']['medicamento_id'];
                $this->Session->setFlash('CORRECTO: Se cambiaron los datos correctamente');
                $this->redirect(array('action' => 'precios', $idMedicamento));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'precios', $idMedicamento));
            }
        } else {
            $options = array('conditions' => array('Medicamentosprecio.' . $this->Medicamentosprecio->primaryKey => $id));
            $this->request->data = $this->Medicamentosprecio->find('first', $options);
            $seguros = $this->Seguro->find('all', array('recursive' => -1));
            $id = $this->request->data['Medicamentosprecio']['medicamento_id'];            
            $this->set(compact('seguros', 'id'));
        }
    }

    public function deleteprecio($id=null , $idMedicamento=null) {
        if ($this->Medicamentosprecio->delete($id)) {
            $this->Session->setFlash('CORRECTO: se elimino los datos correctamente');
            $this->redirect(array('action' => 'precios', $idMedicamento));
        } else {
            $this->Session->setFlash('ERROR: No guardo!!');
            $this->redirect(array('action' => 'precios', $idMedicamento));
        }
    }
    //compras
    public function comprass($id=null) {        
        $dato = $this->Medicamento->findById($id);
        $nombre = $dato['Medicamento']['nombre'];

        $compras = $this->Comprasmedicamento->find('all', array(
            'conditions' => array('Comprasmedicamento.medicamento_id' => $id)
        ));
        ///debug($compras); exit();                       
        $lineaslaboratorios = $this->Lineaslaboratorio->find('all', array('recursive' => -1));     
        $this->set(compact('compras', 'nombre', 'lineaslaboratorios', 'id'));

        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            $id = $this->request->data['Comprasmedicamento']['medicamento_id'];

            if ($this->Comprasmedicamento->save($this->request->data)) {
                $this->Session->setFlash('CORRECTO: Guardado correctamente');
                $this->redirect(array('action' => 'comprass', $id));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'comprass', $id));
            }
        }   
    }
    public function ajaxeditarcompra($id = null) {
        $this->layout='ajax';
        
        $this->Comprasmedicamento->id = $id;
        
        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            if ($this->Comprasmedicamento->save($this->request->data)) {
                $idMedicamento= $this->request->data['Comprasmedicamento']['medicamento_id'];
                $this->Session->setFlash('CORRECTO: Se cambiaron los datos correctamente');
                $this->redirect(array('action' => 'comprass', $idMedicamento));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'precios', $idMedicamento));
            }
        } else {
            $options = array('conditions' => array('Comprasmedicamento.' . $this->Comprasmedicamento->primaryKey => $id));
            $this->request->data = $this->Comprasmedicamento->find('first', $options);
            $lineaslaboratorios = $this->Lineaslaboratorio->find('all', array('recursive' => -1));
            $id = $this->request->data['Comprasmedicamento']['medicamento_id'];            
            $this->set(compact('lineaslaboratorios', 'id'));
        }
    }

    public function deletecompra($id=null , $idMedicamento=null) {
        if ($this->Comprasmedicamento->delete($id)) {
            $this->Session->setFlash('CORRECTO: se elimino los datos correctamente');
            $this->redirect(array('action' => 'comprass', $idMedicamento));
        } else {
            $this->Session->setFlash('ERROR: No guardo!!');
            $this->redirect(array('action' => 'precios', $idMedicamento));
        }
    }
}
?>
